import { createStore } from 'vuex'

export default createStore({
  state: { // 存放数据 和data类似
    isLogin:false,
    userInfo:{},
	  url:'http://127.0.0.1:9000',//开发-生产环境 /api
    randomFN:() => {
      return Math.floor(Math.random() * (2500 - 500 + 1) + 500);
    },
    menuList:[
      // {
      //     name:'权限管理',
      //     id:1,
      //     checked:false,
      //     icon:'Grid',
      //     children:[{
      //       name:'权限列表',
      //       router:'/admin/role',
      //       id:1
      //     }]
      // },
      {
          name:'数据可视化',
          id:1,
          checked:false,
          icon:'Grid',
          children:[{
            name:'数据面板',
            router:'/admin/data',
            id:1
          }]
      },
      {
          name:'用户管理',
          id:2,
          checked:false,
          icon:'User',
          children:[{
            name:'用户列表',
            router:'/admin/user',
            id:1
          },{
            name:'黑名单列表',
            router:'/admin/blackuser',
            id:2
          },]
      },{
          name:'品牌管理',
          id:3,
          checked:false,
          icon:'Star',
          children:[{
            name:'品牌列表',
            router:'/admin/brand',
            id:1
          }]
      },{
          name:'汽车管理',
          id:4,
          checked:false,
          icon:'Menu',
          children:[{
            name:'汽车列表',
            router:'/admin/car',
            id:1
          }]
      },{
          name:'审批管理',
          id:5,
          checked:false,
          icon:'Folder',
          children:[{
            name:'审批列表',
            router:'/admin/checking',
            id:1
          }]
      },{
          name:'订单管理',
          id:6,
          checked:false,
          icon:'ShoppingCart',
          children:[{
            name:'订单列表',
            router:'/admin/order',
            id:1
          }]
    },
  ]
  },
  mutations: { // 用来修改state和getters里面的数据
    userInfo(state,val){ 
      let result = localStorage.getItem('userInfo')
        if(result != undefined && val == undefined){//1.先验证val有值，且本地也有数据，那就是自动登录   --- 01.验证一下是否登录就什么也不用传
          state.isLogin = true
          state.userInfo = JSON.parse(result)
          console.log('自动登录',state.userInfo)
          return;
        }else if(result === undefined || val != undefined && val.id != undefined){ //2.本地没有数据并且val有传值  那就是登录成功  -- 03.这里是正常登录
          state.isLogin = true
          state.userInfo = val
          localStorage.setItem('userInfo',JSON.stringify(val))
          console.log('登录成功',val)
          return;
        }else if(result != undefined && val != undefined){//3.本地有数据并且val没有传值  -------04.退出登录，传个空对象{}即可
          state.isLogin = false
          state.userInfo = val
          localStorage.removeItem('userInfo')
          console.log('退出登录',val.id)
          return;
        }else{//4.本地有数据并且val没有传值   -- 02.本地有数据会自动登录
          state.isLogin = false
          state.userInfo = {}
          console.log('未登录..',val)
          return;
        }
      }
  },

  getters: { // 相当于计算属性

  },
  actions: { // vuex中用于发起异步请求
  },
  modules: {// 拆分模块

  },
})




